<HTML><HEAD><TITLE>cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(ic_cumulative)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)</H1>
Cumulative constraint on specified tasks.
<DL>
<DT><EM>StartTimes</EM></DT>
<DD>Collection of start times for tasks (fd variables or integers)
</DD>
<DT><EM>Durations</EM></DT>
<DD>Collection of duration for tasks (fd variables or integers)
</DD>
<DT><EM>Resources</EM></DT>
<DD>Collection of resource uages by tasks (fd variables or integers)
</DD>
<DT><EM>ResourceLimit</EM></DT>
<DD>Maximum amount of resource available (integer)
</DD>
</DL>
<H2>Description</H2>
<P>
   A cumulative scheduling constraint. StartTimes, Durations and Resources
   are collections (a la collection_to_list/2) of equal size N of finite
   domain variable or integers.  ResourceLimit is an integer.  The
   declarative meaning is:
   If there are N tasks, each starting at a certain start time, having
   a certain duration and consuming a certain (constant) amount of
   resource, then the sum of resource usage of all the tasks does not
   exceed ResourceLimit at any time.
   The (ic/fd)_edge_finder and (ic/fd)_edge_finder3 libraries implementation
   of this predicate can provide stronger propagations.
</P>
<H2>See Also</H2>
<A HREF="../../lib/ic_cumulative/profile-4.html">profile / 4</A>, <A HREF="../../lib/lists/collection_to_list-2.html">lists : collection_to_list / 2</A>, <A HREF="../../lib/ic_edge_finder/cumulative-4.html">ic_edge_finder : cumulative / 4</A>, <A HREF="../../lib/edge_finder3/cumulative-4.html">edge_finder3 : cumulative / 4</A>, <A HREF="../../lib/ic_edge_finder3/cumulative-4.html">ic_edge_finder3 : cumulative / 4</A>, <A HREF="../../lib/edge_finder/cumulative-4.html">edge_finder : cumulative / 4</A>, <A HREF="../../lib/cumulative/cumulative-4.html">cumulative : cumulative / 4</A>
</BODY></HTML>
